home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C++ / Applications / PICSee Dust 1.01 / PICSee Dust.doc < prev    next >
Text File  |  1995-12-03  |  3KB  |  88 lines

  1. PICSee Dust Notes:
  2. Hiep Dam
  3. 12/3/95
  4.  
  5. For PICSee Dust version 1.01
  6. Source code (whatever I wrote) is free.
  7.  
  8.  
  9. The Viewer
  10. ===========
  11.  
  12. The Viewer supports the internal PICS information resource, 'INFO'. The only
  13. parameter that the Viewer uses, however, is the speed parameter. All others
  14. (depth, version, etc) are ignored.
  15.  
  16. By default, if the speed of the PICS file is changed, or if it never had
  17. an 'INFO' resource to begin with, the Viewer will save the the speed to
  18. the 'INFO' resource (or create one if none existed).
  19.  
  20. You can tell the Viewer not to save the speed by keeping the <shift> key
  21. down while closing the PICS Viewer window.
  22.  
  23. Also, the Viewer retrieves from the preferences whether to change the
  24. file's creator type. If the file is modified in the above cases and if
  25. the preferences are set to change the creator types, the Viewer will
  26. update the PICS file info so that it's creator type matches that of
  27. PICSilicious.
  28.  
  29.  
  30. The Compositor
  31. ==============
  32. <updated later>
  33.  
  34.  
  35. The PICS Splitter
  36. =================
  37. The splitter will save the PICS file as PICT files, with either the
  38. PhotoShop or Color-It creator type or the user-defined type.
  39.  
  40.  
  41. The PICS Merger
  42. ================
  43. The merged PICS file will have the PICSilicious creator type (since
  44. the original PICT file creator types - supposedly PhotoShop or
  45. Color-It - do not really support the PICS file format).
  46.  
  47.  
  48.  
  49. Stuff I've have to tweak out that I'm not comfortable with
  50. ----------------------------------------------------------
  51. 1) Update events: I've had to write an AppEmergencyUpdate() routine to handle
  52. update events which aren't handled.
  53.  
  54. Example: put up one dialog, dismiss it and immediately put up another dialog.
  55. Notice the ugly white areas resulting from the old dismmissed dialog. These
  56. areas won't get update events until after the second dialog is dismissed. Note
  57. that this could happen even if you don't have a second dialog, but instead
  58. perform some lengthy operation. The update event doesn't get called until
  59. the next pass at WaitNextEvent - which doesn't happen until your lengthy
  60. operation is done.
  61.  
  62. AppEmergencyUpdate() goes through all windows in the app and gives them
  63. an update message. Nice fix, but windows in other processes won't get
  64. updated. No fix for this, I think.
  65.  
  66. Read Apple TB37: Pending Update Perils (TB == newer Tech Notes) for
  67. the lowdown...
  68.  
  69.  
  70. 2) AppendDITL: Using this causes an update event for the dialog (instead of
  71. it just calling DrawDialog). If you have other items which are *erased*
  72. and redrawn in response to update events, and they are not effected by
  73. the change in DITLs, you'll get noticeable flicker. These items are
  74. in effect getting spurious update messages - they don't need updating,
  75. only the added DITLs do.
  76.  
  77. I've added a static global in one case, in which I set it if I've used
  78. AppendDITL (and thus causing the update event). When my update routine
  79. is called, it checks this global flag. If the flag isn't set, I know
  80. that AppendDITL wasn't called and this is a bona-fide real update event.
  81. Erase and redraw.
  82.  
  83.  
  84. 3) The select multiple files dialog in the Merge... menu command isn't
  85. quite working as I would like. Also, it's not PowerPC-compatible
  86. (it compiles fine with my modifications, but will crash at runtime).
  87. However, since I didn't write it I'm not complaining. I will try to
  88. fix the problems in the next release.